/**
 * @param {number[]} nums
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var moveZeroes = function (nums) {
  //下一个非零元素存放位置
  let insertPos = 0

  /*遍历一遍数组元素：如果元素为0，跳过；如果元素非0，在数组的insertPos索引位置插入该元素，insertPos后移一个位置
  */
  for (let i = 0; i < nums.length; i++) {
    if (nums[i] != 0) nums[insertPos++] = nums[i]
  }

  //经过上一轮循环，数组索引insertPos到最后一位都应该是0
  for (let i = insertPos; i < nums.length; i++) {
    nums[i] = 0
  }

  //返回数组nums
  return nums
};